Advances in technology associated with personal or portable electronic devices, such as smart phones, tablets, portable media players, and e-book readers, are allowing users to perform computing tasks on such devices that may have been traditionally designed for workstations, servers, and supercomputers. For example, cloud computing potentially allows the user to harness the processing power of hundreds or thousands of servers from the user's portable device. Another example is how wireless technologies have untethered the user from static locations in order to access networks such as the internet. However, not all computing tasks have been made easier as a result of the transition from workstations, servers, and supercomputers to more portable computing devices.